import {Component, HostBinding, OnInit} from '@angular/core';
import {NavigationEnd, Router} from '@angular/router';
import {SettingsService, TitleService} from '@delon/theme';
import {filter, map} from 'rxjs/operators';

@Component({
    selector: 'app-root',
    template: `<router-outlet></router-outlet>`
})
export class AppComponent implements OnInit {

    @HostBinding('class.layout-fixed') get isFixed() { return this.settings.layout.fixed; }
    @HostBinding('class.layout-boxed') get isBoxed() { return this.settings.layout.boxed; }
    @HostBinding('class.aside-collapsed') get isCollapsed() { return this.settings.layout.collapsed; }

    constructor(
        private settings: SettingsService,
        private router: Router,
        private titleSrv: TitleService) {
    }

    ngOnInit() {
        this.router.events.pipe(
            filter(evt => evt instanceof NavigationEnd),
            map(() => this.router.url)
        ).subscribe(url => {
            this.titleSrv.setTitleByUrl(url);
        });
    }
}
